KFbxAnimLayer Class Reference

#include <kfbxanimlayer.h>
Inheritance diagram for KFbxAnimLayer:
Inheritance graph
[legend]

List of all members.


Detailed Description

The animation layer is a collection of animation curve nodes.

Its purpose is to store a variable number of KFbxAnimCurveNodes. The class provides different states flags (bool properties), an animatable weight, and the blending mode flag to indicate how the data on this layer is interacting with the data of the other layers during the evaluation.

Definition at line 55 of file kfbxanimlayer.h.


BlendMode bypass functions.

This section provides methods to bypass the current layer blend mode by data type.

When the state is true, the evaluators that are processing the layer will need to consider that, for the given data type, the blend mode is forced to be Overwrite. If the state is left to its default false value, then the layer blend mode applies.

Remarks:
This section only supports the basic types defined in the kfbxtypes.h header file.


void  SetBlendModeBypass (EFbxType pType, bool pState)
  Set the bypass flag for the given data type.
bool  GetBlendModeBypass (EFbxType pType)
  Get the current state of the bypass flag for the given data type.

CurveNode Management

KFbxAnimCurveNode CreateCurveNode (KFbxProperty &pProperty)
  Create a KFbxAnimCurveNode based on the property data type.

Public Types

enum   EBlendMode {
   eBlendModeAdditive,
   eBlendModeOverride,
   eBlendModeOverridePassthrough
}
  Blend mode between animation layers. More...
enum   ERotationAccumulationMode {
   eRotAccuModeByLayer,
   eRotAccuModeByChannel
}
  Rotation accumulation mode of animation layer. More...
enum   EScaleAccumulationMode {
   eScaleAccuModeMultiply,
   eScaleAccuModeAdditive
}
  Scale accumulation mode of animation layer. More...

Public Member Functions

void  Reset ()
  Reset this object properties to their default value.

Public Attributes

KFbxTypedProperty< fbxDouble1 Weight
  This property stores the weight factor.
KFbxTypedProperty< fbxBool1 Mute
  This property stores the mute state.
KFbxTypedProperty< fbxBool1 Solo
  This property stores the solo state.
KFbxTypedProperty< fbxBool1 Lock
  This property stores the lock state.
KFbxTypedProperty< fbxDouble3 Color
  This property stores the display color.
KFbxTypedProperty< fbxEnum BlendMode
  This property stores the blend mode.
KFbxTypedProperty< fbxEnum RotationAccumulationMode
  This property stores the rotation accumulation mode.
KFbxTypedProperty< fbxEnum ScaleAccumulationMode
  This property stores the scale accumulation mode.

Member Enumeration Documentation

enum EBlendMode

Blend mode between animation layers.

Enumerator:
eBlendModeAdditive  The layer "adds" its animation to layers that precede it in the stack and affect the same attributes.
eBlendModeOverride  The layer "overrides" the animation of any layer that shares the same attributes and precedes it in the stack.
eBlendModeOverridePassthrough  This mode is like the eBlendModeOverride but the Weight value influence how much animation from the preceding layers is allowed to passthrough. When using this mode with a Weight of 100.0, this layer is completely opaque and it masks any animation from the preceding layers for the same attribute. If the Weight is 50.0, half of this layer animation is mixed with half of the animation of the preceding layers for the same attribute.

Definition at line 163 of file kfbxanimlayer.h.

Rotation accumulation mode of animation layer.

Enumerator:
eRotAccuModeByLayer  Rotation values are weighted per layer and the result rotation curves are calculated using concatenated quaternion values.
eRotAccuModeByChannel  Rotation values are weighted per component and the result rotation curves are calculated by adding each independent Euler XYZ value.

Definition at line 180 of file kfbxanimlayer.h.

Scale accumulation mode of animation layer.

Enumerator:
eScaleAccuModeMultiply  Independent XYZ scale values per layer are calculated using the layer weight value as an exponent, and result scale curves are calculated by multiplying each independent XYZ scale value.
eScaleAccuModeAdditive  Result scale curves are calculated by adding each independent XYZ value.

Definition at line 190 of file kfbxanimlayer.h.


Member Function Documentation

void Reset (  ) 

Reset this object properties to their default value.

void SetBlendModeBypass ( EFbxType  pType,
bool  pState  
)

Set the bypass flag for the given data type.

Parameters:
pType  The fbxType identifier.
pState  The new state of the bypass flag.
Remarks:
If pType is eMAX_TYPES, then pState is applied to all the data types.

bool GetBlendModeBypass ( EFbxType  pType  ) 

Get the current state of the bypass flag for the given data type.

Parameters:
pType  The fbxType identifier.
Returns:
The current state of the flag for a valid pType value and false in any other case.

KFbxAnimCurveNode* CreateCurveNode ( KFbxProperty pProperty  ) 

Create a KFbxAnimCurveNode based on the property data type.

Parameters:
pProperty  The property that the created KFbxAnimCurveNode will be connected to.
Returns:
Pointer to the created KFbxAnimCurveNode, or NULL if an error occurred.
Remarks:
This function will fail if the property eANIMATABLE flag it is not set.

This function sets the ePUBLISHED flag of the property.

The newly created KFbxAnimCurveNode is automatically connected to both this object and the property.


Member Data Documentation

This property stores the weight factor.

The weight factor is the percentage of influence this layer has during the evaluation.

Default value is 100.0

Definition at line 72 of file kfbxanimlayer.h.

This property stores the mute state.

The mute state indicates that this layer should be excluded from the evaluation.

Default value is false

Definition at line 79 of file kfbxanimlayer.h.

This property stores the solo state.

The solo state indicates that this layer is the only one that should be processed during the evaluation.

Default value is false

Definition at line 87 of file kfbxanimlayer.h.

This property stores the lock state.

The lock state indicates that this layer has been "locked" from editing operations and should no longer receive keyframes.

Default value is false

Definition at line 95 of file kfbxanimlayer.h.

This property stores the display color.

This color can be used by applications if they display a graphical represention of the layer. The FBX SDK does not use it but guarantees that the value is saved to the FBX file and retrieved from it.

Default value is (0.8, 0.8, 0.8)

Definition at line 104 of file kfbxanimlayer.h.

This property stores the blend mode.

The blend mode is used to specify how this layer influences the animation evaluation. See the EBlendMode enumeration for the description of the modes.

Default value is eModeAdditive

Definition at line 112 of file kfbxanimlayer.h.

This property stores the rotation accumulation mode.

This option indicate how the rotation curves on this layer combine with any preceding layers that share the same attributes. See the ERotationAccumulationMode enumeration for the description of the modes.

Default value is eRotAccuModeByLayer

Definition at line 121 of file kfbxanimlayer.h.

This property stores the scale accumulation mode.

This option indicate how the scale curves on this layer combine with any preceding layers that share the same attributes. See the EScaleAccumulationMode enumeration for the description of the modes.

Default value is eScaleAccuModeMultiply

Definition at line 130 of file kfbxanimlayer.h.

KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer
KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer KFbxAnimLayer